package org.jeecg.modules.online.auth.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.online.auth.entity.OnlAuthPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.online.auth.vo.AuthPageVO;

/**
 * @Description: onl_auth_page
 * @Author: jeecg-boot
 * @Date:   2020-07-16
 * @Version: V1.0
 */
public interface OnlAuthPageMapper extends BaseMapper<OnlAuthPage> {

    /**
     *  查询某个表单的字段/按钮权限数据
     * @param roleId 角色ID
     * @param cgformId 表单配置ID
     * @param type 1字段 2按钮
     * @return
     */
    List<AuthPageVO> queryRoleAuthByFormId(@Param("roleId") String roleId, @Param("cgformId") String cgformId, @Param("type") int type);

    /**
     *  查询某个表单的字段权限数据
     * @param cgformId 表单配置ID
     * @return
     */
    List<AuthPageVO> queryAuthColumnByFormId(@Param("cgformId") String cgformId);

    /**
     *  查询某个表单的按钮权限数据
     * @param cgformId 表单配置ID
     * @return
     */
    List<AuthPageVO> queryAuthButtonByFormId(@Param("cgformId") String cgformId);


    /**
     * 查询表单 的数据权限
     * @param roleId 角色ID
     * @param cgformId 表单配置ID
     * @return
     */
    List<AuthPageVO> queryRoleDataAuth(@Param("roleId") String roleId, @Param("cgformId") String cgformId);


    /**
     * 查询当前人 角色相关的权限信息  配置了权限数据 但是没有授权
     * @param userId  用户ID
     * @param cgformId 表单ID
     * @param control  3查询禁用的数据  5查询隐藏的数据
     * @param page  3列表数据 5表单数据
     * @param type 1字段 2按钮
     * @return
     */
    List<String> queryRoleNoAuthCode(@Param("userId") String userId, @Param("cgformId") String cgformId, @Param("control") Integer control, @Param("page") Integer page, @Param("type") Integer type);


}
